import App from './App'

// import {
// 	router,
// 	RouterMount
// } from './router.js' //路径换成自己的
// Vue.use(router)

// 导入 base64 加密文件
import {
	Base64
} from './commonJS/code.js'
Vue.prototype.Base64 = new Base64();

// #ifndef VUE3
import Vue from 'vue'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
	...App
})
app.$mount()
// #endif

// #ifdef VUE3
import {
	createSSRApp
} from 'vue'
export function createApp() {
	const app = createSSRApp(App)
	return {
		app
	}
}
// #endif

//v1.3.5起 H5端 你应该去除原有的app.$mount();使用路由自带的渲染方式
// // #ifdef H5
// RouterMount(app, router, '#app')
// // #endif

// // #ifndef H5
// app.$mount(); //为了兼容小程序及app端必须这样写才有效果
// // #endif

// request拦截器
uni.addInterceptor('request', {
	invoke(args) {
		// 拦截前触发
		const url = args.url;
		// request 触发前拼接 url 
		// args.url = 'http://127.0.0.1:7001' + args.url
		args.url = 'http://119.91.192.106:7001' + args.url
		// args.url = 'https://xbauto.akiraming.xyz' + args.url
		// 过滤路由
		const list = ['/login', '/register']
		// 如果为登录或注册页跳过token
		if (list.includes(url)) return;
		// 对请求头处理事情
		args.header = {
			...args.header,
			token: uni.getStorageSync('token')

		}
	},
	success(args) {
		// 成功回调拦截
		// 请求成功后，修改code值为1
		// args.data.code = 1
		console.log('interceptor-success')
		if (args.statusCode === 400) {
			uni.navigateTo({
				url: '/pages/login/login'
			})
		}
	},
	fail(err) {
		// 失败回调拦截
		// console.log('interceptor-fail', err)
		console.log('interceptor-fail')
	},
	complete(res) {
		// 完成回调拦截
		// console.log('interceptor-complete', res)
		console.log('interceptor-complete')
	}
})


// 路由跳转拦截器
uni.addInterceptor('navigateTo', {
	invoke(obj) {
		console.log('路由跳转拦截器');
		if (obj.url.slice(0, 1) !== '/') {
			obj.url = `/${obj.url}`
		}
	},
	success(args) {
		// 成功回调拦截
		// 请求成功后，修改code值为1
		// args.data.code = 1
		console.log('navigateTo-interceptor-success')
	},
	fail(err) {
		// 失败回调拦截
		// console.log('interceptor-fail', err)
		console.log('navigateTo-interceptor-fail')
	},
	complete(res) {
		// 完成回调拦截
		// console.log('interceptor-complete', res)
		console.log('navigateTo-interceptor-complete')
	}
})
